package metier;

import java.util.Date;

public class Employe extends Utilisateur {
	private String codeMatricule;
	private EnumCategorieEmploye categorieEmploye;
	
	//Constructeur
	public Employe(String nom, String prenom, Date dateNaissance,String sexe,Integer idUtilisateur, String pwd, String pseudonyme,String codeMatricule, EnumCategorieEmploye categorieEmploye) {
		super(nom, prenom, dateNaissance, sexe, idUtilisateur, pwd, pseudonyme);
		this.codeMatricule = codeMatricule;
		this.categorieEmploye = categorieEmploye;
		// TODO Auto-generated constructor stub
	}


	public Integer getIdEmploye(){
		return getIdUtilisateur();
	}

	public String getCodeMatricule() {
		return codeMatricule;
	}

	public void setCodeMatricule(String codeMatricule) {
		this.codeMatricule = codeMatricule;
	}

	public EnumCategorieEmploye getCategorieEmploye() {
		return categorieEmploye;
	}

	public void setCategorieEmploye(EnumCategorieEmploye categorieEmploye) {
		this.categorieEmploye = categorieEmploye;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = super.hashCode();
		result = prime
				* result
				+ ((categorieEmploye == null) ? 0 : categorieEmploye.hashCode());
		result = prime * result
				+ ((codeMatricule == null) ? 0 : codeMatricule.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (!super.equals(obj))
			return false;
		if (getClass() != obj.getClass())
			return false;
		Employe other = (Employe) obj;
		if (categorieEmploye != other.categorieEmploye)
			return false;
		if (codeMatricule == null) {
			if (other.codeMatricule != null)
				return false;
		} else if (!codeMatricule.equals(other.codeMatricule))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return super.toString() + "Employe [codeMatricule=" + codeMatricule
				+ ", categorieEmploye=" + categorieEmploye + "]";
	}

	
}
